#ifndef LIT__INITIALISER__HH__
#define LIT__INITIALISER__HH__

#include <LitExceptions.h>
#include <LitPrerequisites.h>

namespace Lit
{
	class LIT_API Initialiser
	{
	protected:
		bool mInitialised;
		std::string mName;
	public:
		Initialiser( const std::string &name ) ;
		Initialiser( const Initialiser &rk ) ;
		~Initialiser( );

		const std::string &getName() const;

		void setInitialised( bool init );
		bool isInitialised( ) const;
			
		void throwNotInit( );
		void throwAlreadyInit( );
	};
};

#endif